<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,initial-scale=1.0,width=device-width"/>
		<meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
		<title>起始页(权限判断页)</title>
		<link rel="stylesheet" type="text/css" href="./css/api.css" />
		<link rel="stylesheet" type="text/css" href="./css/common.css" />
		<style type="text/css">
			html, body {
				height: 100%;
			}
			#main {
				height: 100%;
				background-color: #fff;
			}
			#loading-container {
				height: 100%;
			}
			.acms-icon-1 {
				height: 40px;
				width: 40px;
			}
			.acms-loading-title {
				margin-top: 20px;
				color: #101010;
				font-size: 16px;
			}
		</style>
	</head>
	<body>
		<div id="main" >
			<div id="loading-container" class="flex-container flex-vertical flex-center-v flex-center-h">
				<div><img class="acms-icon-1" src="./image/loading_more.gif" />
				</div>
				<div class="acms-loading-title">
					正在加载权限...
				</div>
			</div>
		</div>
	</body>
	<script type="text/javascript" src="./script/api.js"></script>
	<script type="text/javascript" src="./script/common.js"></script>
	<script type="text/javascript" src="./script/request.js"></script>
	<script type="text/javascript">
		var mUserId;
		var mUserNickName;
		var mUserPhone;
		var mUserAreaId;
		apiready = function() {
			//适配iOS7+，Android4.4+状态栏沉浸式效果，详见config文档statusBarAppearance字段
			$api.fixStatusBar(document.getElementById('main'));
			if (!getInitDatas()) {
				MyCom.errorTip(1);
				return;
			};
			initView();
			initData();
			requestJD($api.getStorage(MyCom.key_userid));
		};
		//获取从app传过来的数据，并且判断数据的正确性。
		function initData() {
			//									mUserId = 937;
			//						mUserId = 200539;
			//									mUserNickName = '胡庆慧';
			//									mUserPhone = 15323413678;
			//									mUserAreaId = 20001;
			$api.setStorage(MyCom.key_userid, mUserId);
			$api.setStorage(MyCom.key_username, mUserNickName);
			$api.setStorage(MyCom.key_userphone, mUserPhone);
			$api.setStorage(MyCom.key_userareaid, mUserAreaId);
		}

		function initView() {
			setCloseThisWinListener();
		}

		/**
		 * 获取从原生app传过来的数据，并且过滤数据以保证数据的正确性。
		 */
		function getInitDatas() {
			//是否获取从app传过来的数据成功
			var isSucced = true;
			var phoneSystem = api.systemType;
			var appdatas;
			if ('android' === phoneSystem) {
				appdatas = api.appParam;
			} else if ('ios' === phoneSystem) {
				appdatas = api.pageParam;
			} else {
				console.log('不支持非Android和非ios的手机');
				isSucced = false;
			}
			//将不是JSON格式的数据转换为json，以便之后API调用统一。
			if (!isJson(appdatas)) {
				appdatas = JSON.parse(appdatas);
			}
			console.log('--------------app传入的数据=' + JSON.stringify(appdatas));
			var userid = appdatas.userid;
			var userNickname = appdatas.nickname;
			var userPhone = appdatas.nickphone;
			var areaid = appdatas.areaid;
			//传入的数据不能空
			if (userid == null || userNickname == null || userPhone == null || areaid == null) {
				isSucced = false;
			}
			mUserId = userid;
			mUserNickName = userNickname;
			mUserPhone = userPhone;
			mUserAreaId = areaid;
			return isSucced;
		}

		//判断obj是否为json对象
		function isJson(obj) {
			var isjson = typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length;
			return isjson;
		}

		/**
		 * 服务器请求：获取登录用户的模块权限和管理权限。
		 * @param{Number} userid - 用户id
		 */
		function requestJD(userid) {
			var url = MyRequest.SERVER_IP + MyRequest.URL_JD;
			var data = {
				values : {
					'userid' : userid
				}
			};
			MyRequest.requestMethod(url, data, function(re) {
				var code;
				var list;
				var list2;
				if (re) {
					console.log('请求权限--Result=' + JSON.stringify(re));
					code = re.code;
					list = re.list;
					//过滤数据
					if (!MyCom.objectType.isArray(list) || list.length == 0) {
						MyCom.errorTip(2);
					}
					saveModuleLimit(list);
					//根据身份，选择跳转不同的页面,1.故障上报 2.接障处理 3.平障处理  4.故障统计
					if (code == 1) {//管理身份
						$api.setStorage(MyCom.key_userlimit, 1);
						openW('./html/start.html', 'start', list);
					} else {//普通用户
						$api.setStorage(MyCom.key_userlimit, 0);
						openW('./html/complaint_comit.html', 'complaint_comit', list);
					}
				} else {
					MyCom.errorTip(3);
				}
			});
		}

		/**
		 * 打开页面，并禁止新页面在ios中右滑返回上一页
		 * @param{String} fmurl - 页面相对url
		 * @param{String} fmname - 页面名
		 * @param{String} datas - 模块数组
		 */
		function openW(fmurl, fmname, datas) {
			setTimeout(function() {
				api.openWin({
					name : fmname,
					url : fmurl,
					slidBackEnabled : false,
					pageParam : datas
				});
			}, 1500);
		}

		/**
		 * 存储权限数据到本地。
		 * @param{Array} datas - 服务器请求获取到的模块权限数据。
		 */
		function saveModuleLimit(datas) {
			$api.setStorage(MyCom.key_module, JSON.stringify(datas));
		}

		function setCloseThisWinListener() {
			api.addEventListener({
				name : 'CloseRootWin'
			}, function(ret, err) {
				api.closeWin({
				});
			});
		}
	</script>
</html>